﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OverStore.Exceptions;
using OverStore.Runtime.PersistenceServiceProvider;

namespace OverStore.TutorialAsTest.UnitTest.Configuration.Mocks
{
    class MockPersistenceServiceProvider : IPersistenceServiceProvider
    {
        #region IPersistenceServiceProvider Members

        public bool Reload<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void ReloadCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void ReloadCollection<TInstance, TParameter>(IEnumerable<TInstance> collection, TParameter parameter)
            where TInstance : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        public void Save<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void SaveCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void AcceptChanges<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void AcceptCollectionChanges<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void MarkAsDeleted<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void MarkCollectionAsDeleted<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void MarkAsDirty<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void MarkCollectionAsDirty<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void Add<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void AddCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public TInstance Attach<TInstance>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TInstance> AttachCollection<TInstance>(IEnumerable<TInstance> collection) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TItem> ExecuteObjectReader<TItem, TParameter>(TParameter parameter)
            where TItem : class
            where TParameter : class
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TItem> ExecuteObjectReader<TItem>() where TItem : class
        {
            throw new NotImplementedException();
        }

        public void SaveAll()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IRegistry Members

        public TIdentifier GetIdentifier<TInstance, TIdentifier>(TInstance instance) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public void PutNewIdentifier<TInstance, TIdentifier>(TInstance instance, TIdentifier newIdentifier) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public TInstance GetInstance<TInstance, TIdentifier>(TIdentifier identifier) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public TInstance GetInstanceOrDefault<TInstance, TIdentifier>(TIdentifier identifier) where TInstance : class
        {
            throw new NotImplementedException();
        }

        public TInstance GetInstance<TInstance, TIdentifier>(TIdentifier identifier, OverStore.Runtime.Storage.TypedRecord data) where TInstance : class
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IPersistenceServiceProvider Members


        public void AcceptAllChanges<TInstance>() where TInstance : class
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
